微服务的现在、未来
微服务
- Jenkins CI&CD
- Kubernetes 调度、负载、高可用
- 自动化容器的部署和复制
- 随时扩展或收缩容器规模
- 将容器组织成组,并且提供容器间的负载均衡
- 很容易地升级应用程序容器的新版本
- 提供容器弹性,如果容器失效就替换它,等等…
- Istio 监控、熔断、限流
- 流量管理(Connect):智能控制服务之间的调用流量,能够实现灰度升级、AB 测试和红黑部署等功能
- 安全加固(Secure):自动为服务之间的调用提供认证、授权和加密。
- 控制(Control):应用用户定义的 policy,保证资源在消费者中公平分配。
- 观察(Observe):查看服务运行期间的各种数据,比如日志、监控和 tracing,了解服务的运行情况。
- SkyWalking 监控
- 分布式系统的应用程序性能监视工具
- 收集Kubernetes Pod日志到ElasticSearch进行日志检索
- 通过Prometheus监控机器、实例的运行情况
- 通过Alertmanager将监控信息进行告警
其中最重要的Kubernetes服务,腾讯云、阿里云都已经支持。
微服务的未来应该是开发人员只需要写Sping Boot或者Gin/Iris应用就可以了,剩下的就交给Kubernetes。
Spring Cloud/Kubernetes
Istio Knowledge Map
下图转自:istio-knowledge-map